home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / CLASSSRC.PAK / WSYSCLSP.CPP < prev    next >
C/C++ Source or Header  |  1997-05-06  |  1KB  |  54 lines

  1. //----------------------------------------------------------------------------
  2. // Borland WinSys Library
  3. // Copyright (c) 1993, 1997 by Borland International, All Rights Reserved
  4. //
  5. //$Revision:   5.6  $
  6. //
  7. // Implementation of persistent streaming for window system structure and type
  8. // encapsulation
  9. //----------------------------------------------------------------------------
  10. #include <winsys/pch.h>
  11. #include <winsys/wsyscls.h>
  12.  
  13. #if defined(BI_NAMESPACE)
  14. namespace ClassLib {
  15. #endif
  16.  
  17. //
  18. // Persistent streaming operators for resource Ids
  19. //
  20. ipstream& _WSYSFUNC
  21. operator >>(ipstream& is, TResId& id)
  22. {
  23.   bool  isNumeric;
  24.   is >> isNumeric;
  25.  
  26.   if (isNumeric) {
  27.     long  nid;
  28.     is >> nid;
  29.     id = int(nid);
  30.   }
  31.   else
  32.     id = (const _TCHAR far *)is.freadString();
  33.   return is;
  34. }
  35.  
  36. opstream& _WSYSFUNC
  37. operator <<(opstream& os, const TResId& id)
  38. {
  39.   bool  isNumeric = ToBool(!id.IsString());
  40.   os << isNumeric;
  41.  
  42.   if (isNumeric)
  43.     os << id.Num;
  44.  
  45.   else
  46.     os.fwriteString(id.Str);
  47.   return os;
  48. }
  49.  
  50. #if defined(BI_NAMESPACE)
  51. }       // namespace ClassLib
  52. #endif
  53.  
  54.